<?php

namespace app\validate\adm;

use think\Validate;

class CarValidate extends Validate
{
    /**
     * 定义验证规则
     * @var array
     */
    protected $rule = [
        'name' => 'require|max:50',
        'plate_number' => 'require|max:20',
        'brand' => 'max:50',
        'model' => 'max:50',
        'color' => 'max:20',
        'engine_number' => 'max:50',
        'frame_number' => 'max:50',
        'buy_date' => 'date',
        'price' => 'float|egt:0',
        'insurance_date' => 'date',
        'annual_inspection_date' => 'date',
        'status' => 'in:1,2,3,4',
        'remark' => 'max:500',
    ];

    /**
     * 定义错误信息
     * @var array
     */
    protected $message = [
        'name.require' => '车辆名称不能为空',
        'name.max' => '车辆名称不能超过50个字符',
        'plate_number.require' => '车牌号不能为空',
        'plate_number.max' => '车牌号不能超过20个字符',
        'brand.max' => '品牌不能超过50个字符',
        'model.max' => '型号不能超过50个字符',
        'color.max' => '颜色不能超过20个字符',
        'engine_number.max' => '发动机号不能超过50个字符',
        'frame_number.max' => '车架号不能超过50个字符',
        'buy_date.date' => '购买日期格式不正确',
        'price.float' => '价格必须是数字',
        'price.egt' => '价格不能为负数',
        'insurance_date.date' => '保险日期格式不正确',
        'annual_inspection_date.date' => '年检日期格式不正确',
        'status.in' => '状态值不正确',
        'remark.max' => '备注不能超过500个字符',
    ];

    /**
     * 定义验证场景
     * @var array
     */
    protected $scene = [
        'add' => ['name', 'plate_number', 'brand', 'model', 'color', 'engine_number', 'frame_number', 'buy_date', 'price', 'insurance_date', 'annual_inspection_date', 'status', 'remark'],
        'edit' => ['id', 'name', 'plate_number', 'brand', 'model', 'color', 'engine_number', 'frame_number', 'buy_date', 'price', 'insurance_date', 'annual_inspection_date', 'status', 'remark'],
    ];
}